package pe.gob.mintra.trabajadoreshogar.daoimpl;


import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

import pe.gob.mintra.trabajadoreshogar.bean.Empleador;
import pe.gob.mintra.trabajadoreshogar.dao.EmpleadorDAO;
import pe.gob.mintra.trabajadoreshogar.factory.MyBatisConnectionFactory;

public class EmpleadorDAOImp implements EmpleadorDAO {
	
	
	private SqlSessionFactory sqlSessionFactory;

	public EmpleadorDAOImp() {
		sqlSessionFactory = MyBatisConnectionFactory.getSqlSessionFactory();
	}
	
	@Override
	public Empleador listarEmpleador(Empleador objEmpleador) {
	
		SqlSession session = sqlSessionFactory.openSession();
		Empleador empleador=null;
		
		try{
			empleador=(Empleador)session.selectOne("Empleador.listarEmpleadorEmpresa",objEmpleador);
		}catch(Exception ex){
			
		}finally{
			session.close();
		}
		
		return empleador;
		
		
	}

	@Override
	public Empleador listarEmpleadorPersonaNat(Empleador objEmpleador) {
		SqlSession session = sqlSessionFactory.openSession();
		
		Empleador empleador=null;
		
		try{
			
			empleador=(Empleador)session.selectOne("Empleador.listarEmpleadorPersonaNat",objEmpleador);
			
		}catch(Exception ex){
			
		}finally{
			session.close();
		}
		
		return empleador;
		
	}

	@Override
	public void insertarEmpleadorPersona(Empleador objEmpleador) {

		SqlSession session = sqlSessionFactory.openSession();

		try {
			
			session.insert("Empleador.insertarEmpleadorPersona",objEmpleador);
		} 
		catch(Exception ex){
			session.rollback();
			
		}
		finally {
			session.close();
		}
		
	}

	@Override
	public void insertarEmpresa(Empleador objEmpleador) {
		SqlSession session = sqlSessionFactory.openSession();

		try {
			System.out.println(objEmpleador.getN_codsuc());
			System.out.println(objEmpleador.getV_codemp());
			
			int i=session.insert("Empleador.insertarEmpleadorCab",objEmpleador);
			System.out.println("RESULTADO "+i);
		} 
		catch(Exception ex){
			System.out.println(""+ex.getMessage());
			session.rollback();
			
		}
		finally {
			session.close();
		}
		
	}

	@Override
	public void insertarEmpresaPersona(Empleador objEmpleador) {
		SqlSession session = sqlSessionFactory.openSession();

		try {
			
			session.insert("Empleador.insertarEmpleadorPersonaCab",objEmpleador);
		} 
		catch(Exception ex){
			session.rollback();
			
		}
		finally {
			session.close();
		}
		
	}

	@Override
	public void actualizarEmpleadorPersona(Empleador objEmpleador) {
		SqlSession session = sqlSessionFactory.openSession();

		try {
			
			session.update("Empleador.actualizarEmpleadorPersona",objEmpleador);
		} 
		catch(Exception ex){
			session.rollback();
			
		}
		finally {
			session.close();
		}
		
	}
	/*
	@Override
	public void actualizarEmpresaPersona(Empleador objEmpleador) {
		SqlSession session = sqlSessionFactory.openSession();

		try {
			
			session.update("Empleador.actualizarEmpleadorPersonaCab",objEmpleador);
		} 
		catch(Exception ex){
			session.rollback();
			
		}
		finally {
			session.close();
		}
		
	}
	*/

}
